//
//  LYDBMigrateTool.h
//  Apps
//
//  Created by 李永彬 on 2019/6/5.
//  Copyright © 2019 appscomm. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface LYDBMigrateTool : NSObject


/**
 获取增加字段名语句

 @param columnsName 字段名
 @param columnsType 字段类型
 @param tableName 表名
 @return 返回sql语句
 */
+ (NSString *)sqlAddColumnsName:(NSString *)columnsName
                    columnsType:(NSString *)columnsType
                      tableName:(NSString *)tableName;

/**
 获取删除字段名的sql语句（从临时表中拷贝字段）

 @param columns 删除字段后的字段名数组
 @param tableName 表名
 @param tempTableName 临时表名
 @return sql
 */
+ (NSString *)sqlDeleteColumns:(NSArray *)columns
                     tableName:(NSString *)tableName
                     tempTable:(NSString *)tempTableName;

/**
 把旧字段的值赋给新字段

 @param tableName tableName description
 @param oldColumn oldColumn description
 @param NewColumn NewColumn description
 @return return value description
 */
+ (NSString *)sqlUpdateOldColumnsValueToNewColumnsValueWithTable:(NSString *)tableName
                                                       oldColumn:(NSString *)oldColumn
                                                       NewColumn:(NSString *)NewColumn;

/**
 删除表

 @param tableName 表名
 @return sql语句
 */
+ (NSString *)sqlDropTable:(NSString *)tableName;

/**
 表重命名

 @param oldTableName oldTableName 旧表名
 @param newTableName newTableName 新表名
 @return sql
 */
+ (NSString *)sqlRenameOldTable:(NSString *)oldTableName newTable:(NSString *)newTableName;

/**
 过滤数组

 @param allArray 总数组
 @param filterArray 需要过滤掉的数组
 @return 过滤后的数组
 */
+ (NSArray *)filterFromArray:(NSArray *)allArray withOutArray:(NSArray *)filterArray;

@end

NS_ASSUME_NONNULL_END
